export interface IBtnMap {
  label: string
  value: string
  show: boolean
}

/**
 * 按钮权限枚举-系统管理
 */
export enum ENUM_BTN_AUTH_SYS {
  '用户:列表' = 'system:user:list',
  '用户:增' = 'system:user:add',
  '用户:删' = 'system:user:remove',
  '用户:改' = 'system:user:edit',
  '用户:查' = 'system:user:query',
  '用户:分配角色' = 'system:user:role',
  '用户:重置密码' = 'system:user:resetPwd',

  '角色:列表' = 'system:role:list',
  '角色:增' = 'system:role:add',
  '角色:删' = 'system:role:remove',
  '角色:改' = 'system:role:edit',
  '角色:查' = 'system:role:query',

  '权限:列表' = 'resource:list',
  '权限:增' = 'resource:add',
  '权限:删' = 'resource:del',
  '权限:改' = 'resource:edit',
  '权限:查' = 'resource:details',

  '组织管理:列表' = 'system:org:list',
  '组织管理:增' = 'system:org:add',
  '组织管理:删' = 'system:org:remove',
  '组织管理:改' = 'system:org:edit',
  '组织管理:查' = 'system:org:detail',
  '组织管理:绑定' = 'system:org:bind',

  '组织类型:列表' = 'system:orgType:list',
  '组织类型:增' = 'system:orgType:add',
  '组织类型:删' = 'system:orgType:remove',
  '组织类型:改' = 'system:orgType:edit',
  '组织类型:查' = 'system:orgType:detail',

  '字典:列表' = 'system:dict:list',
  '字典:增' = 'system:dict:add',
  '字典:删' = 'system:dict:remove',
  '字典:改' = 'system:dict:edit',
  '字典:查' = 'system:dict:query'
}
/**
 * 按钮权限枚举-文件管理
 */
export enum ENUM_BTN_AUTH_FILE {
  '文件审核:通过' = 'file:check:pass',
  '文件审核:驳回' = 'file:check:reject',

  '文件渠道:列表' = 'file:channel:list',
  '文件渠道:增' = 'file:channel:add',
  '文件渠道:删' = 'file:channel:del',
  '文件渠道:改' = 'file:channel:edit',
  '文件渠道:查' = 'file:channel:query',

  '文件配置:列表' = 'file:config:list',
  '文件配置:增' = 'file:config:add',
  '文件配置:删' = 'file:config:del',
  '文件配置:改' = 'file:config:edit',
  '文件配置:查' = 'file:config:query'
}
/**
 * 按钮权限枚举-积分管理
 */
export enum ENUM_BTN_AUTH_SCORE {
  '积分审核:通过' = 'score:check:pass',
  '积分审核:驳回' = 'score:check:reject',

  '积分类型:列表' = 'score:source:list',
  '积分类型:增' = 'score:source:add',
  '积分类型:删' = 'score:source:del',
  '积分类型:改' = 'score:source:edit',
  '积分类型:查' = 'score:source:query'
}
/**
 * 按钮权限枚举-任务调度
 */
export enum ENUM_BTN_AUTH_TASK {
  '任务管理:列表' = 'task:manage:list',
  '任务管理:增' = 'task:manage:add',
  '任务管理:删' = 'task:manage:del',
  '任务管理:改' = 'task:manage:edit',
  '任务管理:查' = 'task:manage:query',
  '任务管理:执行' = 'task:manage:execute',
  '任务管理:启停' = 'task:manage:status',

  '执行器管理:列表' = 'task:executor:list',
  '执行器管理:增' = 'task:executor:add',
  '执行器管理:删' = 'task:executor:del',
  '执行器管理:改' = 'task:executor:edit',
  '执行器管理:查' = 'task:executor:query',

  '调度日志:列表' = 'task:log:list',
  '调度日志:清理' = 'task:log:clear'
}

/**
 * 按钮权限映射
 * 用于菜单管理中选择按钮权限
 */
export const BTN_AUTH_MAP: IBtnMap[] = [
  { label: '用户管理:列表', value: ENUM_BTN_AUTH_SYS['用户:列表'], show: false },
  { label: '用户管理:增', value: ENUM_BTN_AUTH_SYS['用户:增'], show: false },
  { label: '用户管理:删', value: ENUM_BTN_AUTH_SYS['用户:删'], show: false },
  { label: '用户管理:改', value: ENUM_BTN_AUTH_SYS['用户:改'], show: false },
  { label: '用户管理:查', value: ENUM_BTN_AUTH_SYS['用户:查'], show: false },
  { label: '用户管理:分配角色', value: ENUM_BTN_AUTH_SYS['用户:分配角色'], show: false },
  { label: '用户管理:重置密码', value: ENUM_BTN_AUTH_SYS['用户:重置密码'], show: false },

  { label: '角色管理:列表', value: ENUM_BTN_AUTH_SYS['角色:列表'], show: false },
  { label: '角色管理:增', value: ENUM_BTN_AUTH_SYS['角色:增'], show: false },
  { label: '角色管理:删', value: ENUM_BTN_AUTH_SYS['角色:删'], show: false },
  { label: '角色管理:改', value: ENUM_BTN_AUTH_SYS['角色:改'], show: false },
  { label: '角色管理:查', value: ENUM_BTN_AUTH_SYS['角色:查'], show: false },

  { label: '权限管理:列表', value: ENUM_BTN_AUTH_SYS['权限:列表'], show: false },
  { label: '权限管理:增', value: ENUM_BTN_AUTH_SYS['权限:增'], show: false },
  { label: '权限管理:删', value: ENUM_BTN_AUTH_SYS['权限:删'], show: false },
  { label: '权限管理:改', value: ENUM_BTN_AUTH_SYS['权限:改'], show: false },
  { label: '权限管理:查', value: ENUM_BTN_AUTH_SYS['权限:查'], show: false },

  { label: '组织管理:列表', value: ENUM_BTN_AUTH_SYS['组织管理:列表'], show: false },
  { label: '组织管理:增', value: ENUM_BTN_AUTH_SYS['组织管理:增'], show: false },
  { label: '组织管理:删', value: ENUM_BTN_AUTH_SYS['组织管理:删'], show: false },
  { label: '组织管理:改', value: ENUM_BTN_AUTH_SYS['组织管理:改'], show: false },
  { label: '组织管理:查', value: ENUM_BTN_AUTH_SYS['组织管理:查'], show: false },
  { label: '组织管理:绑定', value: ENUM_BTN_AUTH_SYS['组织管理:绑定'], show: false },
  { label: '组织类型:列表', value: ENUM_BTN_AUTH_SYS['组织类型:列表'], show: false },
  { label: '组织类型:增', value: ENUM_BTN_AUTH_SYS['组织类型:增'], show: false },
  { label: '组织类型:删', value: ENUM_BTN_AUTH_SYS['组织类型:删'], show: false },
  { label: '组织类型:改', value: ENUM_BTN_AUTH_SYS['组织类型:改'], show: false },
  { label: '组织类型:查', value: ENUM_BTN_AUTH_SYS['组织类型:查'], show: false },

  { label: '字典管理:列表', value: ENUM_BTN_AUTH_SYS['字典:列表'], show: false },
  { label: '字典管理:增', value: ENUM_BTN_AUTH_SYS['字典:增'], show: false },
  { label: '字典管理:删', value: ENUM_BTN_AUTH_SYS['字典:删'], show: false },
  { label: '字典管理:改', value: ENUM_BTN_AUTH_SYS['字典:改'], show: false },
  { label: '字典管理:查', value: ENUM_BTN_AUTH_SYS['字典:查'], show: false },

  { label: '文件审核:通过', value: ENUM_BTN_AUTH_FILE['文件审核:通过'], show: false },
  { label: '文件审核:驳回', value: ENUM_BTN_AUTH_FILE['文件审核:驳回'], show: false },
  { label: '文件渠道:列表', value: ENUM_BTN_AUTH_FILE['文件渠道:列表'], show: false },
  { label: '文件渠道:增', value: ENUM_BTN_AUTH_FILE['文件渠道:增'], show: false },
  { label: '文件渠道:删', value: ENUM_BTN_AUTH_FILE['文件渠道:删'], show: false },
  { label: '文件渠道:改', value: ENUM_BTN_AUTH_FILE['文件渠道:改'], show: false },
  { label: '文件渠道:查', value: ENUM_BTN_AUTH_FILE['文件渠道:查'], show: false },
  { label: '文件配置:列表', value: ENUM_BTN_AUTH_FILE['文件配置:列表'], show: false },
  { label: '文件配置:增', value: ENUM_BTN_AUTH_FILE['文件配置:增'], show: false },
  { label: '文件配置:删', value: ENUM_BTN_AUTH_FILE['文件配置:删'], show: false },
  { label: '文件配置:改', value: ENUM_BTN_AUTH_FILE['文件配置:改'], show: false },
  { label: '文件配置:查', value: ENUM_BTN_AUTH_FILE['文件配置:查'], show: false },

  { label: '积分审核:通过', value: ENUM_BTN_AUTH_SCORE['积分审核:通过'], show: false },
  { label: '积分审核:驳回', value: ENUM_BTN_AUTH_SCORE['积分审核:驳回'], show: false },
  { label: '积分类型:列表', value: ENUM_BTN_AUTH_SCORE['积分类型:列表'], show: false },
  { label: '积分类型:增', value: ENUM_BTN_AUTH_SCORE['积分类型:增'], show: false },
  { label: '积分类型:删', value: ENUM_BTN_AUTH_SCORE['积分类型:删'], show: false },
  { label: '积分类型:改', value: ENUM_BTN_AUTH_SCORE['积分类型:改'], show: false },
  { label: '积分类型:查', value: ENUM_BTN_AUTH_SCORE['积分类型:查'], show: false },

  { label: '任务管理:列表', value: ENUM_BTN_AUTH_TASK['任务管理:列表'], show: false },
  { label: '任务管理:增', value: ENUM_BTN_AUTH_TASK['任务管理:增'], show: false },
  { label: '任务管理:删', value: ENUM_BTN_AUTH_TASK['任务管理:删'], show: false },
  { label: '任务管理:改', value: ENUM_BTN_AUTH_TASK['任务管理:改'], show: false },
  { label: '任务管理:查', value: ENUM_BTN_AUTH_TASK['任务管理:查'], show: false },
  { label: '任务管理:执行', value: ENUM_BTN_AUTH_TASK['任务管理:执行'], show: false },
  { label: '任务管理:启停', value: ENUM_BTN_AUTH_TASK['任务管理:启停'], show: false },
  { label: '任务执行器管理:列表', value: ENUM_BTN_AUTH_TASK['执行器管理:列表'], show: false },
  { label: '任务执行器管理:增', value: ENUM_BTN_AUTH_TASK['执行器管理:增'], show: false },
  { label: '任务执行器管理:删', value: ENUM_BTN_AUTH_TASK['执行器管理:删'], show: false },
  { label: '任务执行器管理:改', value: ENUM_BTN_AUTH_TASK['执行器管理:改'], show: false },
  { label: '任务执行器管理:查', value: ENUM_BTN_AUTH_TASK['执行器管理:查'], show: false },
  { label: '任务调度日志:列表', value: ENUM_BTN_AUTH_TASK['调度日志:列表'], show: false },
  { label: '任务调度日志:清理', value: ENUM_BTN_AUTH_TASK['调度日志:清理'], show: false }
]
